package com.emily.test.service;

import com.emily.test.model.TCompany;
import com.emily.test.vo.CompanyVO;

import java.util.List;

/**
 * 公司管理接口
 * @author  zc
 */
public interface TCompanyService {

    /**
     * 增加公司信息
     * @param companyVO 公司对象实体
     * @return
     */
    int insertTCompanyInfo(CompanyVO companyVO);

    /**
     * 修改公司信息
     * @param tCompany
     * @return
     */
    int updateTCompany(TCompany tCompany);
    int updateTCompany(CompanyVO companyVO);
    /**
     * 删除公司信息
     * @param id 公司信息主键id
     * @return
     */
    int deleteTCompanyById(int id);

    /**
     * 按条件查询公司列表
     * @param tCompany  公司信息，查询条件不为空即可按照条件查询
     * @return
     */
    List<TCompany> getCompanyList(TCompany tCompany);

    /**
     * 查询所有公司信息列表
     * @return
     */
    List<CompanyVO> getCompanyList();

    /**
     * 根据id查询公司信息
     * @param id 主键ID
     * @return
     */
    CompanyVO selectCompanyInfoById(int id);
    /**
     * 根据code查询公司信息
     * @param code
     * @return
      */
    TCompany getCompanyByCode(String code);
    /**
     * 根据提供的公司id数组禁用多个公司信息
     * @param tCompanyList    其中公司ids的格式为:ids={1,2,3,4}
     * @return
     */
    int updateTCompanyById(List<TCompany> tCompanyList);

    /**
     * 查询还没有角色的公司信息列表
     * @return
     */
    List<TCompany> getCompanyListNoRoles();

    List<TCompany> selectTCompanyWithOutResource();
}
